package com.concurrency.example.singleton;

/**
 * 懒汉模式，单例实例在第一次使用的时候进行创建，这个类是线程安全的，但是这个写法不推荐
 */
public class SingletonExample2 {
    private SingletonExample2(){}

    private static SingletonExample2 instance = null;

    /**
     * 在方法上使用 synchronized 关键字
     * @return
     */
    public static synchronized SingletonExample2 getInstance(){
        if (instance == null){
            instance = new SingletonExample2();
        }

        return instance;
    }
}
